package com.eascs.finance.admin.web.controller;

import javax.inject.Inject;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.eascs.finance.admin.common.entity.ArticleItemEntity;
import com.eascs.finance.admin.web.service.ArticleItemServiceImpl;
import com.eascs.site.controller.BaseRestController;
import com.eascs.site.view.BaseRestResult;

import jodd.util.StringUtil;

/**
 * @ClassName: ArticleItemRestController
 * @Description: 文章栏目
 * @author 张庆奇
 * @date 2016年11月21日 上午9:41:54
 * @version V1.0
 */
@RestController
@RequestMapping("/articleItemRest")
public class ArticleItemRestController extends BaseRestController {

	@Inject
	ArticleItemServiceImpl articleItemService;

	/**
	 * @Title: delete
	 * @Description: 删除文章栏目信息
	 * @author 张庆奇
	 * @param id
	 * @return
	 * @return BaseRestResult<String>
	 * @throws @date
	 *             2016年11月21日 上午9:41:43
	 */
	@RequestMapping(value = "/delete")
	public BaseRestResult<String> delete(String id) {

		boolean flag = articleItemService.deleteArticleItem(id);
		BaseRestResult<String> result = null;
		if (flag) {
			result = BaseRestResult.info("删除成功").andRefresh();
		} else {
			result = BaseRestResult.error("操作失败");
		}

		return result;

	}

	/**
	 * @Title: updateStatus
	 * @Description:发布或者禁止栏目信息
	 * @author 张庆奇
	 * @param id
	 * @param status
	 * @return
	 * @return BaseRestResult<String>
	 * @throws
	 * @date 2016年11月21日 下午3:18:25
	 */
	@RequestMapping(value = "/updateStatus")
	public BaseRestResult<String> updateStatus(String id, int status) {

		boolean flag = articleItemService.updateArticleItemStatus(id, status);
		BaseRestResult<String> result = null;
		if (flag) {
			result = BaseRestResult.info("操作成功").andRefresh();
		} else {
			result = BaseRestResult.error("操作失败");
		}

		return result;

	}

	/**
	 * @Title: update
	 * @Description: 保存或者修改栏目信息
	 * @author 张庆奇
	 * @param vo
	 * @return
	 * @return BaseRestResult<String>
	 * @throws
	 * @date 2016年11月21日 下午3:16:47
	 */
	@RequestMapping(value = "/update")
	public BaseRestResult<String> update(ArticleItemEntity vo) {
		boolean flag = false;
		BaseRestResult<String> result = null;
		if (vo.getRank() ==0) {
			int rankNum = articleItemService.findSameRankNum(vo.getId(), vo.getRank());
			if (rankNum > 0) {
				return BaseRestResult.warn("栏目排名重复");
			}
		}
		if (StringUtil.isNotBlank(vo.getId())) {
			ArticleItemEntity entity = articleItemService.findArticleItemById(vo.getId());
			entity.setItemName(vo.getItemName());
			entity.setItemUrl(vo.getItemUrl());
			entity.setItemSeoTitle(vo.getItemSeoTitle());
			entity.setItemSeoKeywords(vo.getItemSeoKeywords());
			entity.setItemSeoDesc(vo.getItemSeoDesc());
			entity.setRank(vo.getRank());
			flag = articleItemService.updateArticleItem(entity);
		} else {
			String id = articleItemService.addArticleItem(vo);
			if (StringUtil.isNotBlank(id)) {
				flag = true;
			}
		}
		if (flag) {
			result = BaseRestResult.info("操作成功").andRefresh();
		} else {
			result = BaseRestResult.error("操作失败");
		}

		return result;

	}

}
